<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
    <style>
      .title {
        background-color: bisque;
        width: 200px;
      }
    </style>
  </head>

  <body>
    <!-- react容器 -->
    <div id="test"></div>

    <!-- 引入react核心库 -->
    <script src="../lib/react.js"></script>
    <!-- 引入react-dom -->
    <script src="../lib/react-dom.js"></script>
    <!-- 引入babel -->
    <script src="../lib/babel.min.js"></script>
    <script type="text/babel">
      //1 创建虚拟DOM
      const myId = "title";
      const myData = "Hello,react";
      const color = "#fff";
      const VDOM = (
        <div>
          <h2 className="title" id={myId.toLowerCase()}>
            <span style={{ color: color }}>{myData.toLowerCase()}</span>
          </h2>
          <h2 className="title">
            <span style={{ color: color }}>{myData.toLowerCase()}</span>
          </h2>
          <input type="text"/>
        </div>
      );
      //2 渲染虚拟DOM到页面
      ReactDOM.render(VDOM, document.getElementById("test"));
      /**
       *    1、定义虚拟dom不用引号
       *    2、标签中混入js表达式时，用{}
       *    3、标签中样式类名指定不用class，使用className
       *    4、style内采用{{}}
       *    5、虚拟dom只有一个根标签
       *    6、标签必须闭合
       *    7、标签首字母
       *        （1）若小写，则改为html中同名元素，若无则报错
       *        （2）若大写，则react去渲染对应的组件，若组件未定义则报错
       */
    </script>
  </body>
</html>
